Private Declare Function RegisterHotKey Lib "user32" (ByVal hWnd As Long, ByVal id As Long, ByVal fsModifiers As Long, ByVal vk As Long) As Long
Private Declare Function UnregisterHotKey Lib "user32" (ByVal hWnd As Long, ByVal id As Long) As Long
Private Declare Function PeekMessage Lib "user32" Alias "PeekMessageA" (lpMsg As Msg, ByVal hWnd As Long, ByVal wMsgFilterMin As Long, ByVal wMsgFilterMax As Long, ByVal wRemoveMsg As Long) As Long
Private Declare Function WaitMessage Lib "user32" () As Long
Private bCancel As Boolean
Private Sub ProcessMessages()
Dim Message As Msg
'loop until bCancel is set to True
Do While Not bCancel
'wait for a message
WaitMessage
'check if it's a HOTKEY-message
If PeekMessage(Message, Parent.hWnd, WM_HOTKEY, WM_HOTKEY, PM_REMOVE) Then
If cWave.Cancel = True Then WaterStart
End If
'let the operating system process other events
DoEvents
Loop
End Sub
Public Sub RegHotkey()
bCancel = False
'register the Ctrl-Alt-End hotkey
RegisterHotKey Parent.hWnd, &HBFFF&, MOD_CONTROL Or MOD_ALT, vbKeyEnd